package com.itany.corejava.code11_io.file;

import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * @author 石小俊
 * @date 2023年05月10日 10:43
 */
public class Test02_定义方式 {

    public static void main(String[] args) throws URISyntaxException {
        // 方式一
        File file = new File("E:\\itany\\a.txt");
        System.out.println(file.exists());

        // 方式二:根据指定的目录名与文件名创建一个File对象
        File file2 = new File("E:/itany", "a.txt");
        System.out.println(file2.exists());

        // 方式三
        File parent = new File("E:/itany");
        System.out.println("指定目录是否存在:" + parent.exists());
        File file3 = new File(parent, "a.txt");
        System.out.println(file3.exists());

        // 方式四:通过URI地址来创建一个File对象
        // URI(Uniform Resource Identifier):统一资源标识符
        // 是一个用于表示某一个资源名称的字符串,可以通过类似于properties集合的方式获取
        // 可以通过当前类找到当前类所在的类加载器的URI地址
        // 获取到当前类的Class对象,便于获取与该类相关的一些信息
        URI uri = Test02_定义方式.class
                // 获取该类所在的类加载器,用于加载classpath类路径下的资源
                .getClassLoader()
                // 加载类加载路径下的资源,此时资源所在目录相当于src目录
                // 此处表示找到当前类所在的项目中的src目录下的beans.properties文件
                .getResource("beans.properties")
                // 将URL地址转换成URI地址
                .toURI();
        File file4 = new File(uri);
        System.out.println(file4.exists());
    }

}
